/*
 This file is part of WebHUD.
 
 WebHUD is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 any later version.
 
 WebHUD is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with WebHUD.  If not, see <http://www.gnu.org/licenses/>.
 */

#import "LocationChangeHandler+WHWebFrameLoadDelegate.h"
#import "Constants.h"
#import "WHController.h"
#import "WHHelper.h"

@implementation LocationChangeHandler (WHWebFrameLoadDelegate)

+ (BOOL)swizzle
{
    return [self overrideMethods:[NSArray arrayWithObject:@"webView:didFinishLoadForFrame:"]];
}

- (void)_webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
{

	@try {
		if ( frame == [sender mainFrame])
			[[WHController sharedController] updateWithFrame: frame];
	}
	@catch (NSException *exception) {
		NSLog(@"LocationChangeHandler: %@: %@", [exception name], [exception  reason]);
	}
	@finally {
		[self _webView:sender didFinishLoadForFrame:frame];
	}

}

@end

/* vim: set ts=4 sw=4 expandtab: */
